home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 February: Tool Chest / Apple Developer CD Series Tool Chest February 1996 (Apple Computer)(1996).iso / Tool Chest / Interfaces & Libraries / Interfaces / PInterfaces / Script.p < prev    next >
Encoding:
Text File  |  1995-07-06  |  36.8 KB  |  942 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        Script.p
  3.  
  4.      Contains:    Script Manager interfaces
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Package:    Universal Interfaces 2.1 in “MPW Latest” on ETO #18
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs@applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. }
  19.  
  20. {$IFC UNDEFINED UsingIncludes}
  21. {$SETC UsingIncludes := 0}
  22. {$ENDC}
  23.  
  24. {$IFC NOT UsingIncludes}
  25.  UNIT Script;
  26.  INTERFACE
  27. {$ENDC}
  28.  
  29. {$IFC UNDEFINED __SCRIPT__}
  30. {$SETC __SCRIPT__ := 1}
  31.  
  32. {$I+}
  33. {$SETC ScriptIncludes := UsingIncludes}
  34. {$SETC UsingIncludes := 1}
  35.  
  36.  
  37. {$IFC UNDEFINED __TYPES__}
  38. {$I Types.p}
  39. {$ENDC}
  40. {    ConditionalMacros.p                                            }
  41.  
  42. {$IFC UNDEFINED __QUICKDRAW__}
  43. {$I Quickdraw.p}
  44. {$ENDC}
  45. {    MixedMode.p                                                    }
  46. {    QuickdrawText.p                                                }
  47.  
  48. {$IFC UNDEFINED __INTLRESOURCES__}
  49. {$I IntlResources.p}
  50. {$ENDC}
  51.  
  52. {$IFC UNDEFINED __EVENTS__}
  53. {$I Events.p}
  54. {$ENDC}
  55. {    OSUtils.p                                                    }
  56. {        Memory.p                                                }
  57.  
  58. {$PUSH}
  59. {$ALIGN MAC68K}
  60. {$LibExport+}
  61.  
  62. CONST
  63. { Script System constants }
  64.     smSystemScript                = -1;                            {designates system script.}
  65.     smCurrentScript                = -2;                            {designates current font script.}
  66.     smAllScripts                = -3;                            {designates any script    }
  67.     smRoman                        = 0;                            {Roman}
  68.     smJapanese                    = 1;                            {Japanese}
  69.     smTradChinese                = 2;                            {Traditional Chinese}
  70.     smKorean                    = 3;                            {Korean}
  71.     smArabic                    = 4;                            {Arabic}
  72.     smHebrew                    = 5;                            {Hebrew}
  73.     smGreek                        = 6;                            {Greek}
  74.     smCyrillic                    = 7;                            {Cyrillic}
  75.     smRSymbol                    = 8;                            {Right-left symbol}
  76.     smDevanagari                = 9;                            {Devanagari}
  77.     smGurmukhi                    = 10;                            {Gurmukhi}
  78.     smGujarati                    = 11;                            {Gujarati}
  79.     smOriya                        = 12;                            {Oriya}
  80.     smBengali                    = 13;                            {Bengali}
  81.     smTamil                        = 14;                            {Tamil}
  82.     smTelugu                    = 15;                            {Telugu}
  83.     smKannada                    = 16;                            {Kannada/Kanarese}
  84.     smMalayalam                    = 17;                            {Malayalam}
  85.  
  86.     smSinhalese                    = 18;                            {Sinhalese}
  87.     smBurmese                    = 19;                            {Burmese}
  88.     smKhmer                        = 20;                            {Khmer/Cambodian}
  89.     smThai                        = 21;                            {Thai}
  90.     smLaotian                    = 22;                            {Laotian}
  91.     smGeorgian                    = 23;                            {Georgian}
  92.     smArmenian                    = 24;                            {Armenian}
  93.     smSimpChinese                = 25;                            {Simplified Chinese}
  94.     smTibetan                    = 26;                            {Tibetan}
  95.     smMongolian                    = 27;                            {Mongolian}
  96.     smGeez                        = 28;                            {Geez/Ethiopic}
  97.     smEthiopic                    = 28;                            {Synonym for smGeez}
  98.     smEastEurRoman                = 29;                            {Synonym for smSlavic}
  99.     smCentralEuroRoman            = smEastEurRoman;                { another synonym }
  100.     smVietnamese                = 30;                            {Vietnamese}
  101.     smExtArabic                    = 31;                            {extended Arabic}
  102.     smUninterp                    = 32;                            {uninterpreted symbols, e.g. palette symbols}
  103.     smKlingon                    = 32;                            {Klingon}
  104. {Obsolete names for script systems (kept for backward compatibility)}
  105.     smChinese                    = 2;                            {(use smTradChinese or smSimpChinese)}
  106.     smRussian                    = 7;                            {(old name for smCyrillic)}
  107. { smMaldivian = 25;         (no more smMaldivian!)}
  108.     smAmharic                    = 28;                            {(old name for smGeez)}
  109.     smSlavic                    = 29;                            {(old name for smEastEurRoman)}
  110.  
  111.     smSindhi                    = 31;                            {(old name for smExtArabic)}
  112. { Language Codes }
  113.     langEnglish                    = 0;                            { smRoman script }
  114.     langFrench                    = 1;                            { smRoman script }
  115.     langGerman                    = 2;                            { smRoman script }
  116.     langItalian                    = 3;                            { smRoman script }
  117.     langDutch                    = 4;                            { smRoman script }
  118.     langSwedish                    = 5;                            { smRoman script }
  119.     langSpanish                    = 6;                            { smRoman script }
  120.     langDanish                    = 7;                            { smRoman script }
  121.     langPortuguese                = 8;                            { smRoman script }
  122.     langNorwegian                = 9;                            { smRoman script }
  123.     langHebrew                    = 10;                            { smHebrew script }
  124.     langJapanese                = 11;                            { smJapanese script }
  125.     langArabic                    = 12;                            { smArabic script }
  126.     langFinnish                    = 13;                            { smRoman script }
  127.     langGreek                    = 14;                            { smGreek script }
  128.     langIcelandic                = 15;                            { extended Roman script }
  129.     langMaltese                    = 16;                            { extended Roman script }
  130.     langTurkish                    = 17;                            { extended Roman script }
  131.     langCroatian                = 18;                            { Serbo-Croatian in extended Roman script }
  132.     langTradChinese                = 19;                            { Chinese in traditional characters }
  133.  
  134.     langUrdu                    = 20;                            { smArabic script }
  135.     langHindi                    = 21;                            { smDevanagari script }
  136.     langThai                    = 22;                            { smThai script }
  137.     langKorean                    = 23;                            { smKorean script }
  138.     langLithuanian                = 24;                            { smEastEurRoman script }
  139.     langPolish                    = 25;                            { smEastEurRoman script }
  140.     langHungarian                = 26;                            { smEastEurRoman script }
  141.     langEstonian                = 27;                            { smEastEurRoman script }
  142.     langLettish                    = 28;                            { smEastEurRoman script }
  143.     langLatvian                    = 28;                            { Synonym for langLettish }
  144.     langSaamisk                    = 29;                            { ext. Roman script, lang. of the Sami/Lapp people of Scand. }
  145.     langLappish                    = 29;                            { Synonym for langSaamisk }
  146.     langFaeroese                = 30;                            { smRoman script }
  147.     langFarsi                    = 31;                            { smArabic script }
  148.     langPersian                    = 31;                            { Synonym for langFarsi }
  149.     langRussian                    = 32;                            { smCyrillic script }
  150.     langSimpChinese                = 33;                            { Chinese in simplified characters }
  151.     langFlemish                    = 34;                            { smRoman script }
  152.     langIrish                    = 35;                            { smRoman script }
  153.     langAlbanian                = 36;                            { smRoman script }
  154.  
  155.     langRomanian                = 37;                            { smEastEurRoman script }
  156.     langCzech                    = 38;                            { smEastEurRoman script }
  157.     langSlovak                    = 39;                            { smEastEurRoman script }
  158.     langSlovenian                = 40;                            { smEastEurRoman script }
  159.     langYiddish                    = 41;                            { smHebrew script }
  160.     langSerbian                    = 42;                            { Serbo-Croatian in smCyrillic script }
  161.     langMacedonian                = 43;                            { smCyrillic script }
  162.     langBulgarian                = 44;                            { smCyrillic script }
  163.     langUkrainian                = 45;                            { smCyrillic script }
  164.     langByelorussian            = 46;                            { smCyrillic script }
  165.     langUzbek                    = 47;                            { smCyrillic script }
  166.     langKazakh                    = 48;                            { smCyrillic script }
  167.     langAzerbaijani                = 49;                            { Azerbaijani in smCyrillic script (USSR) }
  168.     langAzerbaijanAr            = 50;                            { Azerbaijani in smArabic script (Iran) }
  169.     langArmenian                = 51;                            { smArmenian script }
  170.     langGeorgian                = 52;                            { smGeorgian script }
  171.     langMoldavian                = 53;                            { smCyrillic script }
  172.     langKirghiz                    = 54;                            { smCyrillic script }
  173.     langTajiki                    = 55;                            { smCyrillic script }
  174.     langTurkmen                    = 56;                            { smCyrillic script }
  175.  
  176.     langMongolian                = 57;                            { Mongolian in smMongolian script }
  177.     langMongolianCyr            = 58;                            { Mongolian in smCyrillic script }
  178.     langPashto                    = 59;                            { smArabic script }
  179.     langKurdish                    = 60;                            { smArabic script }
  180.     langKashmiri                = 61;                            { smArabic script }
  181.     langSindhi                    = 62;                            { smExtArabic script }
  182.     langTibetan                    = 63;                            { smTibetan script }
  183.     langNepali                    = 64;                            { smDevanagari script }
  184.     langSanskrit                = 65;                            { smDevanagari script }
  185.     langMarathi                    = 66;                            { smDevanagari script }
  186.     langBengali                    = 67;                            { smBengali script }
  187.     langAssamese                = 68;                            { smBengali script }
  188.     langGujarati                = 69;                            { smGujarati script }
  189.     langPunjabi                    = 70;                            { smGurmukhi script }
  190.     langOriya                    = 71;                            { smOriya script }
  191.     langMalayalam                = 72;                            { smMalayalam script }
  192.     langKannada                    = 73;                            { smKannada script }
  193.     langTamil                    = 74;                            { smTamil script }
  194.     langTelugu                    = 75;                            { smTelugu script }
  195.     langSinhalese                = 76;                            { smSinhalese script }
  196.  
  197.     langBurmese                    = 77;                            { smBurmese script }
  198.     langKhmer                    = 78;                            { smKhmer script }
  199.     langLao                        = 79;                            { smLaotian script }
  200.     langVietnamese                = 80;                            { smVietnamese script }
  201.     langIndonesian                = 81;                            { smRoman script }
  202.     langTagalog                    = 82;                            { smRoman script }
  203.     langMalayRoman                = 83;                            { Malay in smRoman script }
  204.     langMalayArabic                = 84;                            { Malay in smArabic script }
  205.     langAmharic                    = 85;                            { smEthiopic script }
  206.     langTigrinya                = 86;                            { smEthiopic script }
  207.     langGalla                    = 87;                            { smEthiopic script }
  208.     langOromo                    = 87;                            { Synonym for langGalla }
  209.     langSomali                    = 88;                            { smRoman script }
  210.     langSwahili                    = 89;                            { smRoman script }
  211.     langRuanda                    = 90;                            { smRoman script }
  212.     langRundi                    = 91;                            { smRoman script }
  213.     langChewa                    = 92;                            { smRoman script }
  214.     langMalagasy                = 93;                            { smRoman script }
  215.     langEsperanto                = 94;                            { extended Roman script }
  216.     langWelsh                    = 128;                            { smRoman script }
  217.  
  218.     langBasque                    = 129;                            { smRoman script }
  219.     langCatalan                    = 130;                            { smRoman script }
  220.     langLatin                    = 131;                            { smRoman script }
  221.     langQuechua                    = 132;                            { smRoman script }
  222.     langGuarani                    = 133;                            { smRoman script }
  223.     langAymara                    = 134;                            { smRoman script }
  224.     langTatar                    = 135;                            { smCyrillic script }
  225.     langUighur                    = 136;                            { smArabic script }
  226.     langDzongkha                = 137;                            { (lang of Bhutan) smTibetan script }
  227.     langJavaneseRom                = 138;                            { Javanese in smRoman script }
  228.     langSundaneseRom            = 139;                            { Sundanese in smRoman script }
  229. { Obsolete names, kept for backward compatibility }
  230.     langPortugese                = 8;                            { old misspelled version, kept for compatibility }
  231.     langMalta                    = 16;                            { old misspelled version, kept for compatibility }
  232.     langYugoslavian                = 18;                            { (use langCroatian, langSerbian, etc.) }
  233.     langChinese                    = 19;                            { (use langTradChinese or langSimpChinese) }
  234.     langLapponian                = 29;                            { Synonym for langSaamisk, not correct name }
  235.  
  236. { Regional version codes }
  237.     verUS                        = 0;
  238.     verFrance                    = 1;
  239.     verBritain                    = 2;
  240.     verGermany                    = 3;
  241.     verItaly                    = 4;
  242.     verNetherlands                = 5;
  243.     verFrBelgiumLux                = 6;                            { French for Belgium & Luxembourg }
  244.     verSweden                    = 7;
  245.     verSpain                    = 8;
  246.     verDenmark                    = 9;
  247.     verPortugal                    = 10;
  248.     verFrCanada                    = 11;
  249.     verNorway                    = 12;
  250.  
  251.     verIsrael                    = 13;
  252.     verJapan                    = 14;
  253.     verAustralia                = 15;
  254.     verArabic                    = 16;                            { synonym for verArabia }
  255.     verFinland                    = 17;
  256.     verFrSwiss                    = 18;                            { French Swiss }
  257.     verGrSwiss                    = 19;                            { German Swiss }
  258.     verGreece                    = 20;
  259.     verIceland                    = 21;
  260.     verMalta                    = 22;
  261.     verCyprus                    = 23;
  262.     verTurkey                    = 24;
  263.     verYugoCroatian                = 25;                            { Croatian system for Yugoslavia }
  264.     verNetherlandsComma            = 26;
  265.     verBelgiumLuxPoint            = 27;
  266.     verCanadaComma                = 28;
  267.     verCanadaPoint                = 29;
  268.     vervariantPortugal            = 30;
  269.     vervariantNorway            = 31;
  270.     vervariantDenmark            = 32;
  271.     verIndiaHindi                = 33;                            { Hindi system for India }
  272.     verPakistan                    = 34;
  273.     verTurkishModified            = 35;
  274.     verRomania                    = 39;
  275.     verGreekAncient                = 40;
  276.     verLithuania                = 41;
  277.     verPoland                    = 42;
  278.     verHungary                    = 43;
  279.     verEstonia                    = 44;
  280.     verLatvia                    = 45;
  281.  
  282.     verLapland                    = 46;
  283.     verFaeroeIsl                = 47;
  284.     verIran                        = 48;
  285.     verRussia                    = 49;
  286.     verIreland                    = 50;                            { English-language version for Ireland }
  287.     verKorea                    = 51;
  288.     verChina                    = 52;
  289.     verTaiwan                    = 53;
  290.     verThailand                    = 54;
  291.     verCzech                    = 56;
  292.     verSlovak                    = 57;
  293.     verGenericFE                = 58;
  294.     verMagyar                    = 59;
  295.     verBengali                    = 60;
  296.     verByeloRussian                = 61;
  297.     verUkrania                    = 62;
  298.     verItalianSwiss                = 63;
  299.     verAlternateGr                = 64;
  300.     verCroatia                    = 68;
  301.  
  302.     minCountry                    = verUS;
  303.     maxCountry                    = verCroatia;                    { changed from verAlternateGr when additional enums added }
  304.  
  305. { Obsolete region code names, kept for backward compatibility }
  306.     verBelgiumLux                = 6;                            { (use verFrBelgiumLux instead, less ambiguous) }
  307.     verArabia                    = 16;
  308.     verYugoslavia                = 25;                            { (use verYugoCroatian instead, less ambiguous) }
  309.     verIndia                    = 33;                            { (use verIndiaHindi instead, less ambiguous) }
  310. { Calendar Codes }
  311.     calGregorian                = 0;
  312.     calArabicCivil                = 1;
  313.     calArabicLunar                = 2;
  314.     calJapanese                    = 3;
  315.     calJewish                    = 4;
  316.     calCoptic                    = 5;
  317.     calPersian                    = 6;
  318. { Integer Format Codes }
  319.     intWestern                    = 0;
  320.     intArabic                    = 1;
  321.     intRoman                    = 2;
  322.     intJapanese                    = 3;
  323.     intEuropean                    = 4;
  324.     intOutputMask                = $8000;
  325. { CharByte byte types }
  326.     smSingleByte                = 0;
  327.     smFirstByte                    = -1;
  328.     smLastByte                    = 1;
  329.     smMiddleByte                = 2;
  330. { CharType field masks }
  331.     smcTypeMask                    = $000F;
  332.     smcReserved                    = $00F0;
  333.  
  334.     smcClassMask                = $0F00;
  335.     smcOrientationMask            = $1000;                        {two-byte script glyph orientation}
  336.     smcRightMask                = $2000;
  337.     smcUpperMask                = $4000;
  338.     smcDoubleMask                = $8000;
  339. { Basic CharType character types }
  340.     smCharPunct                    = $0000;
  341.     smCharAscii                    = $0001;
  342.     smCharEuro                    = $0007;
  343.     smCharExtAscii                = $0007;                        { More correct synonym for smCharEuro }
  344. { Additional CharType character types for script systems }
  345.     smCharKatakana                = $0002;                        {Japanese Katakana}
  346.     smCharHiragana                = $0003;                        {Japanese Hiragana}
  347.     smCharIdeographic            = $0004;                        {Hanzi, Kanji, Hanja}
  348.     smCharTwoByteGreek            = $0005;                        {2-byte Greek in Far East systems}
  349.     smCharTwoByteRussian        = $0006;                        {2-byte Cyrillic in Far East systems}
  350.     smCharBidirect                = $0008;                        {Arabic/Hebrew}
  351.     smCharContextualLR            = $0009;                        {Contextual left-right: Thai, Indic scripts}
  352.     smCharNonContextualLR        = $000A;                        {Non-contextual left-right: Cyrillic, Greek}
  353.     smCharHangul                = $000C;                        {Korean Hangul}
  354.     smCharJamo                    = $000D;                        {Korean Jamo}
  355.     smCharBopomofo                = $000E;                        {Chinese Bopomofo}
  356. { old names for some of above, for backward compatibility }
  357.     smCharFISKana                = $0002;                        {Katakana}
  358.     smCharFISGana                = $0003;                        {Hiragana}
  359.     smCharFISIdeo                = $0004;                        {Hanzi, Kanji, Hanja}
  360.  
  361.     smCharFISGreek                = $0005;                        {2-byte Greek in Far East systems}
  362.     smCharFISRussian            = $0006;                        {2-byte Cyrillic in Far East systems}
  363. { CharType classes for punctuation (smCharPunct) }
  364.     smPunctNormal                = $0000;
  365.     smPunctNumber                = $0100;
  366.     smPunctSymbol                = $0200;
  367.     smPunctBlank                = $0300;
  368. { Additional CharType classes for punctuation in two-byte systems }
  369.     smPunctRepeat                = $0400;                        { repeat marker }
  370.     smPunctGraphic                = $0500;                        { line graphics }
  371. { CharType Katakana and Hiragana classes for two-byte systems }
  372.     smKanaSmall                    = $0100;                        {small kana character}
  373.     smKanaHardOK                = $0200;                        {can have dakuten}
  374.     smKanaSoftOK                = $0300;                        {can have dakuten or han-dakuten}
  375. { CharType Ideographic classes for two-byte systems }
  376.     smIdeographicLevel1            = $0000;                        {level 1 char}
  377.     smIdeographicLevel2            = $0100;                        {level 2 char}
  378.     smIdeographicUser            = $0200;                        {user char}
  379. { old names for above, for backward compatibility }
  380.     smFISClassLvl1                = $0000;                        {level 1 char}
  381.     smFISClassLvl2                = $0100;                        {level 2 char}
  382.     smFISClassUser                = $0200;                        {user char}
  383. { CharType Jamo classes for Korean systems }
  384.     smJamoJaeum                    = $0000;                        {simple consonant char}
  385.     smJamoBogJaeum                = $0100;                        {complex consonant char}
  386.     smJamoMoeum                    = $0200;                        {simple vowel char}
  387.  
  388.     smJamoBogMoeum                = $0300;                        {complex vowel char}
  389. { CharType glyph orientation for two-byte systems }
  390.     smCharHorizontal            = $0000;                        { horizontal character form, or for both }
  391.     smCharVertical                = $1000;                        { vertical character form }
  392. { CharType directions }
  393.     smCharLeft                    = $0000;
  394.     smCharRight                    = $2000;
  395. { CharType case modifers }
  396.     smCharLower                    = $0000;
  397.     smCharUpper                    = $4000;
  398. { CharType character size modifiers (1 or multiple bytes). }
  399.     smChar1byte                    = $0000;
  400.     smChar2byte                    = $8000;
  401. { TransliterateText target types for Roman }
  402.     smTransAscii                = 0;                            {convert to ASCII}
  403.     smTransNative                = 1;                            {convert to font script}
  404.     smTransCase                    = $FE;                            {convert case for all text}
  405.     smTransSystem                = $FF;                            {convert to system script}
  406. { TransliterateText target types for two-byte scripts }
  407.     smTransAscii1                = 2;                            {1-byte Roman}
  408.     smTransAscii2                = 3;                            {2-byte Roman}
  409.     smTransKana1                = 4;                            {1-byte Japanese Katakana}
  410.     smTransKana2                = 5;                            {2-byte Japanese Katakana}
  411.  
  412.     smTransGana2                = 7;                            {2-byte Japanese Hiragana (no 1-byte Hiragana)}
  413.     smTransHangul2                = 8;                            {2-byte Korean Hangul}
  414.     smTransJamo2                = 9;                            {2-byte Korean Jamo}
  415.     smTransBopomofo2            = 10;                            {2-byte Chinese Bopomofo}
  416. { TransliterateText target modifiers }
  417.     smTransLower                = $4000;                        {target becomes lowercase}
  418.     smTransUpper                = $8000;                        {target becomes uppercase}
  419. { TransliterateText resource format numbers }
  420.     smTransRuleBaseFormat        = 1;                            {Rule based trsl resource format }
  421.     smTransHangulFormat            = 2;                            {Table based Hangul trsl resource format}
  422. { TransliterateText property flags }
  423.     smTransPreDoubleByting        = 1;                            {Convert all text to double byte before transliteration}
  424.     smTransPreLowerCasing        = 2;                            {Convert all text to lower case before transliteration}
  425. { TransliterateText source mask - general }
  426.     smMaskAll                    = $FFFFFFFF;                    {Convert all text}
  427. { TransliterateText source masks }
  428.     smMaskAscii                    = $00000001;                    {2^smTransAscii}
  429.     smMaskNative                = $00000002;                    {2^smTransNative}
  430. { TransliterateText source masks for two-byte scripts }
  431.     smMaskAscii1                = $00000004;                    {2^smTransAscii1}
  432.     smMaskAscii2                = $00000008;                    {2^smTransAscii2}
  433.     smMaskKana1                    = $00000010;                    {2^smTransKana1}
  434.     smMaskKana2                    = $00000020;                    {2^smTransKana2}
  435.     smMaskGana2                    = $00000080;                    {2^smTransGana2}
  436.     smMaskHangul2                = $00000100;                    {2^smTransHangul2}
  437.     smMaskJamo2                    = $00000200;                    {2^smTransJamo2}
  438.     smMaskBopomofo2                = $00000400;                    {2^smTransBopomofo2}
  439.  
  440. { Result values from GetScriptManagerVariable and SetScriptManagerVariable calls. }
  441.     smNotInstalled                = 0;                            {routine not available in script}
  442.     smBadVerb                    = -1;                            {Bad verb passed to a routine}
  443.     smBadScript                    = -2;                            {Bad script code passed to a routine}
  444.  
  445. { Values for script redraw flag. }
  446.     smRedrawChar                = 0;                            {Redraw character only}
  447.     smRedrawWord                = 1;                            {Redraw entire word (2-byte systems)}
  448.     smRedrawLine                = -1;                            {Redraw entire line (bidirectional systems)}
  449. { GetScriptManagerVariable and SetScriptManagerVariable verbs }
  450.     smVersion                    = 0;                            {Script Manager version number}
  451.     smMunged                    = 2;                            {Globals change count}
  452.     smEnabled                    = 4;                            {Count of enabled scripts, incl Roman}
  453.     smBidirect                    = 6;                            {At least one bidirectional script}
  454.     smFontForce                    = 8;                            {Force font flag}
  455.     smIntlForce                    = 10;                            {Force intl flag}
  456.     smForced                    = 12;                            {Script was forced to system script}
  457.     smDefault                    = 14;                            {Script was defaulted to Roman script}
  458.     smPrint                        = 16;                            {Printer action routine}
  459.     smSysScript                    = 18;                            {System script}
  460.     smLastScript                = 20;                            {Last keyboard script}
  461.     smKeyScript                    = 22;                            {Keyboard script}
  462.     smSysRef                    = 24;                            {System folder refNum}
  463.     smKeyCache                    = 26;                            {obsolete}
  464.     smKeySwap                    = 28;                            {Swapping table handle}
  465.     smGenFlags                    = 30;                            {General flags long}
  466.     smOverride                    = 32;                            {Script override flags}
  467.  
  468.     smCharPortion                = 34;                            {Ch vs SpExtra proportion}
  469. { New for System 7.0: }
  470.     smDoubleByte                = 36;                            {Flag for double-byte script installed}
  471.     smKCHRCache                    = 38;                            {Returns pointer to KCHR cache}
  472.     smRegionCode                = 40;                            {Returns current region code (verXxx)}
  473.     smKeyDisableState            = 42;                            {Returns current keyboard disable state}
  474. { GetScriptVariable and SetScriptVariable verbs.
  475. Note: Verbs private to script systems are negative, while
  476. those general across script systems are non-negative. }
  477.     smScriptVersion                = 0;                            {Script software version}
  478.     smScriptMunged                = 2;                            {Script entry changed count}
  479.     smScriptEnabled                = 4;                            {Script enabled flag}
  480.     smScriptRight                = 6;                            {Right to left flag}
  481.     smScriptJust                = 8;                            {Justification flag}
  482.     smScriptRedraw                = 10;                            {Word redraw flag}
  483.     smScriptSysFond                = 12;                            {Preferred system font}
  484.     smScriptAppFond                = 14;                            {Preferred Application font}
  485.     smScriptBundle                = 16;                            {Beginning of itlb verbs}
  486.     smScriptNumber                = 16;                            {Script itl0 id}
  487.     smScriptDate                = 18;                            {Script itl1 id}
  488.     smScriptSort                = 20;                            {Script itl2 id}
  489.     smScriptFlags                = 22;                            {flags word}
  490.     smScriptToken                = 24;                            {Script itl4 id}
  491.     smScriptEncoding            = 26;                            {id of optional itl5, if present}
  492.     smScriptLang                = 28;                            {Current language for script}
  493.  
  494.     smScriptNumDate                = 30;                            {Script Number/Date formats.}
  495.     smScriptKeys                = 32;                            {Script KCHR id}
  496.     smScriptIcon                = 34;                            {ID # of SICN or kcs#/kcs4/kcs8 suite}
  497.     smScriptPrint                = 36;                            {Script printer action routine}
  498.     smScriptTrap                = 38;                            {Trap entry pointer}
  499.     smScriptCreator                = 40;                            {Script file creator}
  500.     smScriptFile                = 42;                            {Script file name}
  501.     smScriptName                = 44;                            {Script name}
  502. { There is a hole here for old Kanji private verbs 46-76 
  503.  
  504.  New for System 7.0: }
  505.     smScriptMonoFondSize        = 78;                            {default monospace FOND (hi) & size (lo)}
  506.     smScriptPrefFondSize        = 80;                            {preferred FOND (hi) & size (lo)}
  507.     smScriptSmallFondSize        = 82;                            {default small FOND (hi) & size (lo)}
  508.     smScriptSysFondSize            = 84;                            {default system FOND (hi) & size (lo)}
  509.     smScriptAppFondSize            = 86;                            {default app FOND (hi) & size (lo)}
  510.     smScriptHelpFondSize        = 88;                            {default Help Mgr FOND (hi) & size (lo)}
  511.     smScriptValidStyles            = 90;                            {mask of valid styles for script}
  512.     smScriptAliasStyle            = 92;                            {style (set) to use for aliases}
  513. { Special script code values for International Utilities }
  514.     iuSystemScript                = -1;                            { <obsolete>  system script }
  515.     iuCurrentScript                = -2;                            { <obsolete>  current script (for font of grafPort) }
  516. { Negative verbs for KeyScript }
  517.     smKeyNextScript                = -1;                            { Switch to next available script }
  518.     smKeySysScript                = -2;                            { Switch to the system script }
  519.     smKeySwapScript                = -3;                            { Switch to previously-used script }
  520. { New for System 7.0: }
  521.     smKeyNextKybd                = -4;                            { Switch to next keyboard in current keyscript }
  522.  
  523.     smKeySwapKybd                = -5;                            { Switch to previously-used keyboard in current keyscript }
  524.     smKeyDisableKybds            = -6;                            { Disable keyboards not in system or Roman script }
  525.     smKeyEnableKybds            = -7;                            { Re-enable keyboards for all enabled scripts }
  526.     smKeyToggleInline            = -8;                            { Toggle inline input for current keyscript }
  527.     smKeyToggleDirection        = -9;                            { Toggle default line direction (TESysJust) }
  528.     smKeyNextInputMethod        = -10;                            { Switch to next input method in current keyscript }
  529.     smKeySwapInputMethod        = -11;                            { Switch to last-used input method in current keyscript }
  530.     smKeyDisableKybdSwitch        = -12;                            { Disable switching from the current keyboard }
  531.     smKeySetDirLeftRight        = -15;                            { Set default line dir to left-right, align left }
  532.     smKeySetDirRightLeft        = -16;                            { Set default line dir to right-left, align right }
  533.     smKeyRoman                    = -17;                            { Set keyscript to Roman. Does nothing if Roman-only
  534.                                         system, unlike KeyScript(smRoman) which forces
  535.                                         an update to current default Roman keyboard }
  536. { Bits in the smScriptFlags word
  537. (bits above 8 are non-static) }
  538.     smsfIntellCP                = 0;                            {Script has intelligent cut & paste}
  539.     smsfSingByte                = 1;                            {Script has only single bytes}
  540.     smsfNatCase                    = 2;                            {Native chars have upper & lower case}
  541.     smsfContext                    = 3;                            {Script is contextual}
  542.     smsfNoForceFont                = 4;                            {Script will not force characters}
  543.     smsfB0Digits                = 5;                            {Script has alternate digits at B0-B9}
  544.     smsfAutoInit                = 6;                            {Auto initialize the script}
  545.     smsfUnivExt                    = 7;                            {Script is handled by universal extension}
  546.     smsfSynchUnstyledTE            = 8;                            {Script synchronizes for unstyled TE}
  547.     smsfForms                    = 13;                            {Uses contextual forms for letters}
  548.     smsfLigatures                = 14;                            {Uses contextual ligatures}
  549.     smsfReverse                    = 15;                            {Reverses native text, right-left}
  550. { Bits in the smGenFlags long.
  551. First (high-order) byte is set from itlc flags byte. }
  552.     smfShowIcon                    = 31;                            {Show icon even if only one script}
  553.     smfDualCaret                = 30;                            {Use dual caret for mixed direction text}
  554.     smfNameTagEnab                = 29;                            {Reserved for internal use}
  555.     smfUseAssocFontInfo            = 28;                            {Use the associated font info for FontMetrics calls <48>}
  556.  
  557. { Roman script constants 
  558.  The following are here for backward compatibility, but should not be used. 
  559.  This information should be obtained using GetScript. }
  560.     romanSysFond                = $3FFF;                        {system font id number}
  561.     romanAppFond                = 3;                            {application font id number}
  562.     romanFlags                    = $0007;                        {roman settings}
  563. { Script Manager font equates. }
  564.     smFondStart                    = $4000;                        {start from 16K}
  565.     smFondEnd                    = $C000;                        {past end of range at 48K}
  566. { Miscellaneous font equates. }
  567.     smUprHalfCharSet            = $80;                            {first char code in top half of std char set}
  568. { Character Set Extensions }
  569.     diaeresisUprY                = $D9;
  570.     fraction                    = $DA;
  571.     intlCurrency                = $DB;
  572.     leftSingGuillemet            = $DC;
  573.     rightSingGuillemet            = $DD;
  574.     fiLigature                    = $DE;
  575.     flLigature                    = $DF;
  576.     dblDagger                    = $E0;
  577.     centeredDot                    = $E1;
  578.     baseSingQuote                = $E2;
  579.     baseDblQuote                = $E3;
  580.     perThousand                    = $E4;
  581.     circumflexUprA                = $E5;
  582.  
  583.     circumflexUprE                = $E6;
  584.     acuteUprA                    = $E7;
  585.     diaeresisUprE                = $E8;
  586.     graveUprE                    = $E9;
  587.     acuteUprI                    = $EA;
  588.     circumflexUprI                = $EB;
  589.     diaeresisUprI                = $EC;
  590.     graveUprI                    = $ED;
  591.     acuteUprO                    = $EE;
  592.     circumflexUprO                = $EF;
  593.     appleLogo                    = $F0;
  594.     graveUprO                    = $F1;
  595.     acuteUprU                    = $F2;
  596.     circumflexUprU                = $F3;
  597.     graveUprU                    = $F4;
  598.     dotlessLwrI                    = $F5;
  599.     circumflex                    = $F6;
  600.     tilde                        = $F7;
  601.     macron                        = $F8;
  602.     breveMark                    = $F9;
  603.  
  604.     overDot                        = $FA;
  605.     ringMark                    = $FB;
  606.     cedilla                        = $FC;
  607.     doubleAcute                    = $FD;
  608.     ogonek                        = $FE;
  609.     hachek                        = $FF;
  610. { TokenType values }
  611.     tokenIntl                    = 4;                            {the itl resource number of the tokenizer}
  612.     tokenEmpty                    = -1;                            {used internally as an empty flag}
  613.  
  614.     tokenUnknown                = 0;                            {chars that do not match a defined token type}
  615.     tokenWhite                    = 1;                            {white space}
  616.     tokenLeftLit                = 2;                            {literal begin}
  617.     tokenRightLit                = 3;                            {literal end}
  618.     tokenAlpha                    = 4;                            {alphabetic}
  619.     tokenNumeric                = 5;                            {numeric}
  620.     tokenNewLine                = 6;                            {new line}
  621.     tokenLeftComment            = 7;                            {open comment}
  622.     tokenRightComment            = 8;                            {close comment}
  623.     tokenLiteral                = 9;                            {literal}
  624.     tokenEscape                    = 10;                            {character escape (e.g. '\' in "\n", "\t")}
  625.     tokenAltNum                    = 11;                            {alternate number (e.g. $B0-B9 in Arabic,Hebrew)}
  626.     tokenRealNum                = 12;                            {real number}
  627.     tokenAltReal                = 13;                            {alternate real number}
  628.     tokenReserve1                = 14;                            {reserved}
  629.     tokenReserve2                = 15;                            {reserved}
  630.     tokenLeftParen                = 16;                            {open parenthesis}
  631.     tokenRightParen                = 17;                            {close parenthesis}
  632.     tokenLeftBracket            = 18;                            {open square bracket}
  633.     tokenRightBracket            = 19;                            {close square bracket}
  634.  
  635.     tokenLeftCurly                = 20;                            {open curly bracket}
  636.     tokenRightCurly                = 21;                            {close curly bracket}
  637.     tokenLeftEnclose            = 22;                            {open guillemet}
  638.     tokenRightEnclose            = 23;                            {close guillemet}
  639.     tokenPlus                    = 24;
  640.     tokenMinus                    = 25;
  641.     tokenAsterisk                = 26;                            {times/multiply}
  642.     tokenDivide                    = 27;
  643.     tokenPlusMinus                = 28;                            {plus or minus symbol}
  644.     tokenSlash                    = 29;
  645.     tokenBackSlash                = 30;
  646.     tokenLess                    = 31;                            {less than symbol}
  647.     tokenGreat                    = 32;                            {greater than symbol}
  648.     tokenEqual                    = 33;
  649.     tokenLessEqual2                = 34;                            {less than or equal, 2 characters (e.g. <=)}
  650.     tokenLessEqual1                = 35;                            {less than or equal, 1 character}
  651.     tokenGreatEqual2            = 36;                            {greater than or equal, 2 characters (e.g. >=)}
  652.     tokenGreatEqual1            = 37;                            {greater than or equal, 1 character}
  653.     token2Equal                    = 38;                            {double equal (e.g. ==)}
  654.     tokenColonEqual                = 39;                            {colon equal}
  655.  
  656.     tokenNotEqual                = 40;                            {not equal, 1 character}
  657.     tokenLessGreat                = 41;                            {less/greater, Pascal not equal (e.g. <>)}
  658.     tokenExclamEqual            = 42;                            {exclamation equal, C not equal (e.g. !=)}
  659.     tokenExclam                    = 43;                            {exclamation point}
  660.     tokenTilde                    = 44;                            {centered tilde}
  661.     tokenComma                    = 45;
  662.     tokenPeriod                    = 46;
  663.     tokenLeft2Quote                = 47;                            {open double quote}
  664.     tokenRight2Quote            = 48;                            {close double quote}
  665.     tokenLeft1Quote                = 49;                            {open single quote}
  666.     tokenRight1Quote            = 50;                            {close single quote}
  667.     token2Quote                    = 51;                            {double quote}
  668.     token1Quote                    = 52;                            {single quote}
  669.     tokenSemicolon                = 53;
  670.     tokenPercent                = 54;
  671.     tokenCaret                    = 55;
  672.     tokenUnderline                = 56;
  673.     tokenAmpersand                = 57;
  674.     tokenAtSign                    = 58;
  675.     tokenBar                    = 59;                            {vertical bar}
  676.  
  677.     tokenQuestion                = 60;
  678.     tokenPi                        = 61;                            {lower-case pi}
  679.     tokenRoot                    = 62;                            {square root symbol}
  680.     tokenSigma                    = 63;                            {capital sigma}
  681.     tokenIntegral                = 64;                            {integral sign}
  682.     tokenMicro                    = 65;
  683.     tokenCapPi                    = 66;                            {capital pi}
  684.     tokenInfinity                = 67;
  685.     tokenColon                    = 68;
  686.     tokenHash                    = 69;                            {e.g. #}
  687.     tokenDollar                    = 70;
  688.     tokenNoBreakSpace            = 71;                            {non-breaking space}
  689.     tokenFraction                = 72;
  690.     tokenIntlCurrency            = 73;
  691.     tokenLeftSingGuillemet        = 74;
  692.     tokenRightSingGuillemet        = 75;
  693.     tokenPerThousand            = 76;
  694.     tokenEllipsis                = 77;
  695.     tokenCenterDot                = 78;
  696.     tokenNil                    = 127;
  697.  
  698.     delimPad                    = -2;
  699. { obsolete, misspelled token names kept for backward compatibility }
  700.     tokenTilda                    = 44;
  701.     tokenCarat                    = 55;
  702.  
  703. { Table selectors for GetItlTable }
  704.     smWordSelectTable            = 0;                            { get word select break table from 'itl2' }
  705.     smWordWrapTable                = 1;                            { get word wrap break table from 'itl2' }
  706.     smNumberPartsTable            = 2;                            { get default number parts table from 'itl4' }
  707.     smUnTokenTable                = 3;                            { get unToken table from 'itl4' }
  708.     smWhiteSpaceList            = 4;                            { get white space list from 'itl4' }
  709.     iuWordSelectTable            = 0;                            { <obsolete>  get word select break table from 'itl2' }
  710.     iuWordWrapTable                = 1;                            { <obsolete>  get word wrap break table from 'itl2' }
  711.     iuNumberPartsTable            = 2;                            { <obsolete>  get default number parts table from 'itl4' }
  712.     iuUnTokenTable                = 3;                            { <obsolete>  get unToken table from 'itl4' }
  713.     iuWhiteSpaceList            = 4;                            { <obsolete>  get white space list from 'itl4' }
  714.  
  715. { end of stuff moved from Packages.h }
  716.     tokenOK                        = 0;                            { TokenResults }
  717.     tokenOverflow                = 1;                            { TokenResults }
  718.     stringOverflow                = 2;                            { TokenResults }
  719.     badDelim                    = 3;                            { TokenResults }
  720.     badEnding                    = 4;                            { TokenResults }
  721.     crash                        = 5;                            { TokenResults }
  722.  
  723.     
  724. TYPE
  725.     TokenResults = SInt8;
  726.  
  727.     CharByteTable = PACKED ARRAY [0..255] OF CHAR;
  728.  
  729.     TokenType = INTEGER;
  730.  
  731.     DelimType = ARRAY [0..1] OF TokenType;
  732.  
  733.     CommentType = ARRAY [0..3] OF TokenType;
  734.  
  735.     TokenRec = RECORD
  736.         theToken:                TokenType;
  737.         position:                Ptr;                                    {pointer into original source}
  738.         length:                    LONGINT;                                {length of text in original source}
  739.         stringPosition:            StringPtr;                                {Pascal/C string copy of identifier}
  740.     END;
  741.  
  742.     TokenRecPtr = ^TokenRec;
  743.  
  744.     TokenBlock = RECORD
  745.         source:                    Ptr;                                    {pointer to stream of characters}
  746.         sourceLength:            LONGINT;                                {length of source stream}
  747.         tokenList:                Ptr;                                    {pointer to array of tokens}
  748.         tokenLength:            LONGINT;                                {maximum length of TokenList}
  749.         tokenCount:                LONGINT;                                {number tokens generated by tokenizer}
  750.         stringList:                Ptr;                                    {pointer to stream of identifiers}
  751.         stringLength:            LONGINT;                                {length of string list}
  752.         stringCount:            LONGINT;                                {number of bytes currently used}
  753.         doString:                BOOLEAN;                                {make strings & put into StringList}
  754.         doAppend:                BOOLEAN;                                {append to TokenList rather than replace}
  755.         doAlphanumeric:            BOOLEAN;                                {identifiers may include numeric}
  756.         doNest:                    BOOLEAN;                                {do comments nest?}
  757.         leftDelims:                ARRAY [0..1] OF TokenType;
  758.         rightDelims:            ARRAY [0..1] OF TokenType;
  759.         leftComment:            ARRAY [0..3] OF TokenType;
  760.         rightComment:            ARRAY [0..3] OF TokenType;
  761.         escapeCode:                TokenType;                                {escape symbol code}
  762.         decimalCode:            TokenType;
  763.         itlResource:            Handle;                                    {handle to itl4 resource of current script}
  764.         reserved:                ARRAY [0..7] OF LONGINT;                {must be zero!}
  765.     END;
  766.  
  767.     TokenBlockPtr = ^TokenBlock;
  768.  
  769. FUNCTION GetSysDirection : INTEGER;
  770.     {$IFC NOT CFMSYSTEMCALLS}
  771.     INLINE $3EB8, $0BAC;            { MOVE.w $0BAC,(SP) }
  772.     {$ENDC}
  773.  
  774. PROCEDURE SetSysDirection( value: INTEGER );
  775.     {$IFC NOT CFMSYSTEMCALLS}
  776.     INLINE $31DF, $0BAC;            { MOVE.w (SP)+,$0BAC }
  777.     {$ENDC}
  778.  
  779. FUNCTION FontScript: INTEGER;
  780.     {$IFC NOT GENERATINGCFM}
  781.     INLINE $2F3C, $8200, $0000, $A8B5;
  782.     {$ENDC}
  783. FUNCTION IntlScript: INTEGER;
  784.     {$IFC NOT GENERATINGCFM}
  785.     INLINE $2F3C, $8200, $0002, $A8B5;
  786.     {$ENDC}
  787. PROCEDURE KeyScript(code: INTEGER);
  788.     {$IFC NOT GENERATINGCFM}
  789.     INLINE $2F3C, $8002, $0004, $A8B5;
  790.     {$ENDC}
  791. FUNCTION CharByte(textBuf: Ptr; textOffset: INTEGER): INTEGER;
  792.     {$IFC NOT GENERATINGCFM}
  793.     INLINE $2F3C, $8206, $0010, $A8B5;
  794.     {$ENDC}
  795. FUNCTION CharType(textBuf: Ptr; textOffset: INTEGER): INTEGER;
  796.     {$IFC NOT GENERATINGCFM}
  797.     INLINE $2F3C, $8206, $0012, $A8B5;
  798.     {$ENDC}
  799. FUNCTION IsCmdChar({CONST}VAR event: EventRecord; test: INTEGER): BOOLEAN;
  800.     {$IFC NOT GENERATINGCFM}
  801.     INLINE $2F3C, $8206, $FFD0, $A8B5;
  802.     {$ENDC}
  803. FUNCTION Transliterate(srcHandle: Handle; dstHandle: Handle; target: INTEGER; srcMask: LONGINT): OSErr;
  804.     {$IFC NOT GENERATINGCFM}
  805.     INLINE $2F3C, $820E, $0018, $A8B5;
  806.     {$ENDC}
  807. FUNCTION ParseTable(VAR table: CharByteTable): BOOLEAN;
  808.     {$IFC NOT GENERATINGCFM}
  809.     INLINE $2F3C, $8204, $0022, $A8B5;
  810.     {$ENDC}
  811. FUNCTION IntlTokenize(tokenParam: TokenBlockPtr): TokenResults;
  812.     {$IFC NOT GENERATINGCFM}
  813.     INLINE $2F3C, $8204, $FFFA, $A8B5;
  814.     {$ENDC}
  815. FUNCTION FontToScript(fontNumber: INTEGER): INTEGER;
  816.     {$IFC NOT GENERATINGCFM}
  817.     INLINE $2F3C, $8202, $0006, $A8B5;
  818.     {$ENDC}
  819. FUNCTION GetScriptManagerVariable(selector: INTEGER): LONGINT;
  820.     {$IFC NOT GENERATINGCFM}
  821.     INLINE $2F3C, $8402, $0008, $A8B5;
  822.     {$ENDC}
  823. FUNCTION SetScriptManagerVariable(selector: INTEGER; param: LONGINT): OSErr;
  824.     {$IFC NOT GENERATINGCFM}
  825.     INLINE $2F3C, $8206, $000A, $A8B5;
  826.     {$ENDC}
  827. FUNCTION GetScriptVariable(script: INTEGER; selector: INTEGER): LONGINT;
  828.     {$IFC NOT GENERATINGCFM}
  829.     INLINE $2F3C, $8404, $000C, $A8B5;
  830.     {$ENDC}
  831. FUNCTION SetScriptVariable(script: INTEGER; selector: INTEGER; param: LONGINT): OSErr;
  832.     {$IFC NOT GENERATINGCFM}
  833.     INLINE $2F3C, $8208, $000E, $A8B5;
  834.     {$ENDC}
  835. {  New for 7.1  }
  836. FUNCTION GetScriptUtilityAddress(selector: INTEGER; Before: BOOLEAN; script: ScriptCode): UniversalProcPtr;
  837.     {$IFC NOT GENERATINGCFM}
  838.     INLINE $2F3C, $C404, $0038, $A8B5;
  839.     {$ENDC}
  840. PROCEDURE SetScriptUtilityAddress(selector: INTEGER; Before: BOOLEAN; routineAddr: UniversalProcPtr; script: ScriptCode);
  841.     {$IFC NOT GENERATINGCFM}
  842.     INLINE $2F3C, $C008, $003A, $A8B5;
  843.     {$ENDC}
  844. FUNCTION GetScriptQDPatchAddress(trapNum: INTEGER; Before: BOOLEAN; forPrinting: BOOLEAN; script: ScriptCode): UniversalProcPtr;
  845.     {$IFC NOT GENERATINGCFM}
  846.     INLINE $2F3C, $C406, $003C, $A8B5;
  847.     {$ENDC}
  848. PROCEDURE SetScriptQDPatchAddress(trapNum: INTEGER; Before: BOOLEAN; forPrinting: BOOLEAN; routineAddr: UniversalProcPtr; script: ScriptCode);
  849.     {$IFC NOT GENERATINGCFM}
  850.     INLINE $2F3C, $C00A, $003E, $A8B5;
  851.     {$ENDC}
  852. FUNCTION CharacterByteType(textBuf: Ptr; textOffset: INTEGER; script: ScriptCode): INTEGER;
  853.     {$IFC NOT GENERATINGCFM}
  854.     INLINE $2F3C, $C206, $0010, $A8B5;
  855.     {$ENDC}
  856. FUNCTION CharacterType(textBuf: Ptr; textOffset: INTEGER; script: ScriptCode): INTEGER;
  857.     {$IFC NOT GENERATINGCFM}
  858.     INLINE $2F3C, $C206, $0012, $A8B5;
  859.     {$ENDC}
  860. FUNCTION TransliterateText(srcHandle: Handle; dstHandle: Handle; target: INTEGER; srcMask: LONGINT; script: ScriptCode): OSErr;
  861.     {$IFC NOT GENERATINGCFM}
  862.     INLINE $2F3C, $C20E, $0018, $A8B5;
  863.     {$ENDC}
  864. FUNCTION FillParseTable(VAR table: CharByteTable; script: ScriptCode): BOOLEAN;
  865.     {$IFC NOT GENERATINGCFM}
  866.     INLINE $2F3C, $C204, $0022, $A8B5;
  867.     {$ENDC}
  868. { Moved from Packages.h }
  869. FUNCTION GetIntlResource(theID: INTEGER): Handle;
  870.     {$IFC NOT GENERATINGCFM}
  871.     INLINE $3F3C, $0006, $A9ED;
  872.     {$ENDC}
  873. PROCEDURE SetIntlResource(refNum: INTEGER; theID: INTEGER; intlHandle: Handle);
  874.     {$IFC NOT GENERATINGCFM}
  875.     INLINE $3F3C, $0008, $A9ED;
  876.     {$ENDC}
  877. PROCEDURE ClearIntlResourceCache;
  878.     {$IFC NOT GENERATINGCFM}
  879.     INLINE $3F3C, $0018, $A9ED;
  880.     {$ENDC}
  881. PROCEDURE GetIntlResourceTable(script: ScriptCode; tableCode: INTEGER; VAR itlHandle: Handle; VAR offset: LONGINT; VAR length: LONGINT);
  882.     {$IFC NOT GENERATINGCFM}
  883.     INLINE $3F3C, $0024, $A9ED;
  884.     {$ENDC}
  885. {$IFC OLDROUTINENAMES }
  886. PROCEDURE SetSysJust(newDirection: INTEGER);
  887.     {$IFC NOT GENERATINGCFM}
  888.     INLINE $31DF, $0BAC;
  889.     {$ENDC}
  890. FUNCTION GetSysJust: INTEGER;
  891.     {$IFC NOT GENERATINGCFM}
  892.     INLINE $3EB8, $0BAC;
  893.     {$ENDC}
  894. FUNCTION Font2Script(fontNumber: INTEGER): INTEGER;
  895.     {$IFC NOT GENERATINGCFM}
  896.     INLINE $2F3C, $8202, $0006, $A8B5;
  897.     {$ENDC}
  898. FUNCTION GetEnvirons(selector: INTEGER): LONGINT;
  899.     {$IFC NOT GENERATINGCFM}
  900.     INLINE $2F3C, $8402, $0008, $A8B5;
  901.     {$ENDC}
  902. FUNCTION SetEnvirons(selector: INTEGER; param: LONGINT): OSErr;
  903.     {$IFC NOT GENERATINGCFM}
  904.     INLINE $2F3C, $8206, $000A, $A8B5;
  905.     {$ENDC}
  906. FUNCTION GetScript(script: INTEGER; verb: INTEGER): LONGINT;
  907.     {$IFC NOT GENERATINGCFM}
  908.     INLINE $2F3C, $8404, $000C, $A8B5;
  909.     {$ENDC}
  910. FUNCTION SetScript(script: INTEGER; verb: INTEGER; param: LONGINT): OSErr;
  911.     {$IFC NOT GENERATINGCFM}
  912.     INLINE $2F3C, $8208, $000E, $A8B5;
  913.     {$ENDC}
  914. FUNCTION IUGetIntl(theID: INTEGER): Handle;
  915.     {$IFC NOT GENERATINGCFM}
  916.     INLINE $3F3C, $0006, $A9ED;
  917.     {$ENDC}
  918. PROCEDURE IUSetIntl(refNum: INTEGER; theID: INTEGER; intlHandle: Handle);
  919.     {$IFC NOT GENERATINGCFM}
  920.     INLINE $3F3C, $0008, $A9ED;
  921.     {$ENDC}
  922. PROCEDURE IUClearCache;
  923.     {$IFC NOT GENERATINGCFM}
  924.     INLINE $3F3C, $0018, $A9ED;
  925.     {$ENDC}
  926. PROCEDURE IUGetItlTable(script: ScriptCode; tableCode: INTEGER; VAR itlHandle: Handle; VAR offset: LONGINT; VAR length: LONGINT);
  927.     {$IFC NOT GENERATINGCFM}
  928.     INLINE $3F3C, $0024, $A9ED;
  929.     {$ENDC}
  930. {$ENDC}
  931.  
  932. {$ALIGN RESET}
  933. {$POP}
  934.  
  935. {$SETC UsingIncludes := ScriptIncludes}
  936.  
  937. {$ENDC} {__SCRIPT__}
  938.  
  939. {$IFC NOT UsingIncludes}
  940.  END.
  941. {$ENDC}
  942.